#ifndef __LOGIMGUI_H__
#define __LOGIMGUI_H__
#include <imgui.h>
#include <imgui_impl_sdl.h>
#include <imgui_impl_sdlrenderer.h>

inline void logImGui(const Mat4x4& m, const char* msg = "") {
    ImGui::Begin("Matrix Log");
    ImGui::Text(msg);
    ImGui::Text("%f, %f, %f, %f\n"
                "%f, %f, %f, %f\n"
                "%f, %f, %f, %f\n"
                "%f, %f, %f, %f\n", 
                m(0, 0), m(1, 0), m(2, 0), m(3, 0),
                m(0, 1), m(1, 1), m(2, 1), m(3, 1),
                m(0, 2), m(1, 2), m(2, 2), m(3, 2),
                m(0, 3), m(1, 3), m(2, 3), m(3, 3));
    ImGui::End();
}

inline void logImGui(const detail::Vec<float, 4>& m, const char* msg = "") {
    ImGui::Begin("Matrix Log");
    ImGui::Text(msg);
    ImGui::Text("{ %f, %f, %f, %f }\n", m.x, m.y, m.z, m.w);
    ImGui::End();
}

#endif